package com.sxy.pojo;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * @author 宋鑫宇
 * @version 1.0
 * 如果实体类名和数据库表名不一致，MybatisPlus则不能识别到数据库表，需要在实体类中添加@TableName()注解来完成配置
 */
//使用lombok,可以用注解添加对应的方法
//@Setter
//@Getter
//@ToString
//设置简便注解，包括@Setter，@Getter，@ToString
@Data
//设置数据库表名
@TableName("tbl_book")
public class Book {
    //设置id主键的生成策略
    @TableId(type = IdType.AUTO)
    private Long id;
    private String type;
    //设置单个属性在数据库中的名称,select 设置当前属性不参与查询
    @TableField(value = "name", select = false)
    private String name;
    private String description;

    //设置实体类中的属性设置为在数据库表中不存在
    @TableField(exist = false)
    private Integer online;

    //设置逻辑删除字段，标记当前记录是否被删除
    //value代表没删除默认值，delval代表删除后的默认值
//    @TableLogic(value = "0",delval = "1")//可以在配置文件中写全局配置
    private Integer deleted;

    //添加乐观锁
    @Version            //添加拦截器
    private Integer version;

}
